package com.sat.order.service;

import com.github.pagehelper.PageInfo;
import com.sat.order.pojo.Order;

import java.util.List;

/**
 * 如梦技术
 */

public interface OrderService {

    /***
     * 删除订单操作
     * @param id
     */
    void deleteOrder(String id);

    /**
     * 订单修改
     * @param outtradeno    订单号
     * @param payTime   支付时间
     * @param transaction_id    微信支付的交易流水号
     */
    void updateStatus(String outtradeno,String payTime,String transaction_id) throws Exception;

    /***
     * 添加订单和订单项
     * @param skuids 需下单的skuid集合
     * @param addressId 下单地址id
     * @param username
     */
    void add(Long[] skuids,Integer addressId,String username);

    /***
     * Order多条件分页查询
     * @param order
     * @param page
     * @param size
     * @return
     */
    PageInfo<Order> findPage(Order order, int page, int size);

    /***
     * Order分页查询
     * @param page
     * @param size
     * @return
     */
    PageInfo<Order> findPage(int page, int size);

    /***
     * Order多条件搜索方法
     * @param order
     * @return
     */
    List<Order> findList(Order order);

    /***
     * 删除Order
     * @param id
     */
    void delete(String id);

    /***
     * 修改Order数据
     * @param order
     */
    void update(Order order);

    /***
     * 新增Order
     * @param order
     */
    void add(Order order);

    /**
     * 根据ID查询Order
     * @param id
     * @return
     */
     Order findById(String id);

    /***
     * 查询所有Order
     * @return
     */
    List<Order> findAll();
}
